
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
	</body>
	<script type="text/javascript">
	
		// * 用户名正则：4到16位（字母，数字，下划线，减号）
		var str = 'Abc123_-456DFg';
		var result = str.match(/^(-|\w){4,16}$/g);
		console.log(result);
		
		// * 整数正则: 正整数，负整数，整数
		//正整数
		var str = '123456';
		var result = str.match(/^\d+$/g);
		console.log(result);
		
		//负整数
		var str = '-123456';
		var result = str.match(/^-\d+$/g);
		console.log(result);
		
		//整数
		var str = '0123456';
		var result = str.match(/^-?\d+$/g);
		console.log(result);
		
		// * 小数正则：正小数，负小数，正负小数
		//正小数
		var str = '123.456';
		var result = str.match(/^\d+\.\d+$/g)
		console.log(result);
		var str = '-123.456';
		//负小数
		var result = str.match(/^-\d+\.\d+$/g)
		console.log(result);
		var str = '-123.456';
		//正负小数
		var result = str.match(/^-?\d+\.\d+$/g)
		console.log(result);
		
		// * 数字正则：整数、小数
		//整数
		var str = '123456';
		var result = str.match(/^-?\d+$/g);
		console.log(result);
		//小数
		var str = '123.456';
		var result = str.match(/^-?\d+\.\d+$/g);
		console.log(result);
		
		// * 手机号码正则（号段：13-19开头+9位数字）
		var str = '16789789789';
		var result = str.match(/^1[3-9]\d{9}$/g);
		console.log(result);
		
		// * 身份证号正则 （15位数字，18数字，17数字+X）  首数字不为0
		var str = '112345678912345';
		var result = str.match(/^([1-9]\d{14,17}|[1-9]\d{16}X)$/g);
		console.log(result);
		
		// * QQ号码正则（首数字不为0，4-11位）
		var str = '16789789781';
		var result = str.match(/^[1-9]\d{4,10}$/g);
		console.log(result);
		
		// * 包含中文正则
		var str = 'China NO.1中华人民共和国666'
		var result = str.match(/[\u4e00-\u9fa5]/g)
		console.log(result);
		
		//* 密码强度正则：至少6位，包括至少一个大写字母，一个小写字母，一个数字，还要一个特殊符号
		var str = 'Yy3';
		var result = str.match(/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?\d)(?=.*?[#?!@$%^&*-]).{6,}$/g);
		console.log(result);
	</script>
</html>
